Ext.define('AM.view.PowerView', {
		extend: 'Ext.grid.Panel',
		alias : 'widget.powerView',
		store :'PowerStore',
		columnLines:true,
//		selModel : Ext.create('Ext.selection.CheckboxModel'), 
		selModel: {
	        injectCheckbox: 0,
	        mode: "SIMPLE"    //"SINGLE"/"SIMPLE"/"MULTI"
	       
   		 },
   		selType: "checkboxmodel",
    	dockedItems: [{
        xtype: 'pagingtoolbar',
        dock: 'bottom',
        store :'PowerStore',
        displayInfo: true
        }],
		columns: [
			        { text: '序号', dataIndex: 'id',width:0,align:'center'},
			        {text: '序号',  xtype: 'rownumberer',width:50,align:'center',tdCls:'background-color: #8EE5EE;'},
			        { text: '角色名称', dataIndex: 'name', width:100,align:'center'},
			         { text: '授权操作', dataIndex: 'id',width:160,align:'center',renderer : function(data, cell, record, rowIndex,columnIndex){
			        	    var resultStr = "<div class='controlBtn'>" +     
                            "<a href='javascript:void("+record.get('id')+");'class='alarm_detail'onclick='changerpower("+record.get('id')+")'>增加权限</a>&nbsp;&nbsp;&nbsp;&nbsp;"     
                            "</div>";     
         					 return resultStr;  
			       		  }
			         }
			     ],
			   tbar: [
					  { xtype: 'button',id:'tab-19_add',text: '增加',handler: addrole, icon: 'Ext/restful/images/add.png'
					  },
					  { xtype: 'button' ,id:'tab-19_edit',text: '修改',handler:editrole,icon: 'Ext/restful/images/cog_edit.png'
					  },
					  { xtype: 'button',id:'tab-19_delete', text: '删除',handler: deleteRose,icon: 'Ext/restful/images/delete.png'
					  }
					]
	
})
function editrole() {
	 var grid=this.ownerCt.ownerCt;
		 var myform1= new Ext.form.Panel({
			        bodyPadding: 20,
			        labelWidth : 65,
			        items: [{   
					   			  xtype : "textfield",
					   			  allowBlank:false,
					   		      fieldLabel: '角色名称',
					   			  labelAlign :"right",
							      name: 'name',
							      width:300
							},{
								   xtype : "textfield",
					   		      fieldLabel: 'id',
					   			  labelAlign :"right",
							      name: 'id',
							      hidden : true 
							}]		        	
		
		 })
			var win = new Ext.Window({
				title : "修改",
				width : 350,
				height : 200,
				frame:true,
				layout:'fit',
				items : [ myform1
							],
				buttons : [{
							text : "确定",
							handler : function() {
								win.getComponent(0).getForm().submit({
											 url : 'Power_editRole',
											 success : function() {
												Ext.Msg.alert('提示', '修改成功');
												win.close();
												grid.getStore().reload();
												grid.getSelectionModel().deselectAll();
											},
											failure : function() {
												Ext.Msg.alert('错误', '修改失败');
											},
											waitMsg : "请稍后，正在保存。。。。"
	
										});
							}
						}, {
							text : "重置",
							handler : function() {
								win.getComponent(0).getForm().reset();
							}
						}, {
							text : "取消",
							handler : function() {
								win.close();
							    grid.getSelectionModel().deselectAll();		
							}
						}]
			});
		var selections = grid.getSelectionModel().getSelection();
						if(selections.length==0){
							Ext.MessageBox.alert("提示","请选择要编辑的一行！");
						}else if (selections.length > 1) {
							Ext.MessageBox.alert("提示", "请检查您是否选中了多行！");
							return;
						} else{
							var record = selections[0];
						//这里是修改操作的实现部分
							win.getComponent(0).getForm().loadRecord(record);
							win.show();
						}
	
}

//增加角色
	function addrole() {
		 var myform1= new Ext.form.Panel({
			        bodyPadding: 5,
			        labelWidth : 65,
					   items: [{   
					   		      columnWidth :.46,
					   		      allowBlank:false,
					   			  xtype : "textfield",
					   		      fieldLabel: ' 角色名称',
					   			  labelAlign :"right",
							      name: 'rosename',
							      width:300
							}]		        	
				        	       

		 })
			var win = new Ext.Window({
				title : "添加角色",
				width : 500,
				height : 200,
				frame:true,
				layout:'fit',
				items : [ myform1
							],
				buttons : [{
							text : "确定",
							handler : function() {
								win.getComponent(0).getForm().submit({
											 url : 'Power_addRole',
											 success : function() {
												Ext.Msg.alert('提示', '添加成功');
												win.close();
												var powerView=Ext.create('AM.view.PowerView');
												powerView.getStore().reload();
//												powerView.getSelectionModel().deselectAll();
											},
											failure : function() {
												Ext.Msg.alert('错误', '添加失败');
											},
											waitMsg : "请稍后，正在保存。。。。"
	
										});
							}
						},  {
							text : "取消",
							handler : function() {
												win.close();
											
							}
						}]
			});
		win.show();
	}
//删除
   function deleteRose(){
				 var grid=this.ownerCt.ownerCt;
			     var selections = grid.getSelectionModel().getSelection();
					if(selections){
					if(selections.length==0){
							Ext.MessageBox.alert("提示","请检查是否选中某一行！");
						}else if (selections.length > 1) {
							Ext.MessageBox.alert("提示", "请检查您是否选中了多行！");
							return;
						} else{
							Ext.MessageBox.confirm("提示", "确认要删除 ？", function(btn) {
							if (btn == 'yes') {			
							var record = selections[0];
								Ext.Ajax.request({
										url : 'Power_deleteRose',
										success : function() {
											Ext.MessageBox.alert("提示",
													"删除" + record.get("name")+ "成功！");
//												Ext.getCmp('departmentView').getStore().remove(selections );
//												Ext.getCmp('departmentView').getStore().reload();
													 grid.getStore().remove(selections );
												     grid.getStore().reload();
										},
										failure : function() {
											Ext.MessageBox.alert("提示", "科室被引用，删除失败！");
										},
										params : {
											rid : record.get("id")
										}
									});			
								}
					  	})
                   	} 
 			   
		   }				
	} 
function changerpower(id){
//角色分配权限用的是写死的树
//	var store=Ext.create('Ext.data.TreeStore', {
//		root: {
//        expanded:true ,
//        children: [
//            { text: "基础设置",id:'1',expanded:true ,checked:false ,children: [
//                { text: "员工管理",id:'5', expanded:true , checked:false,children: [
//                       { text: "5_add", leaf: true ,checked:false},
//                       { text: "5_edit", leaf: true,checked:false},
//                       { text: "5_drop", leaf: true,checked:false}
//          		  ]},
//                { text: "岗位管理",id:'6', expanded:true ,checked:false,children: [
//                       { text: "6_add", leaf: true ,checked:false},
//                       { text: "6_edit", leaf: true,checked:false},
//                       { text: "6_drop", leaf: true,checked:false}
//           	 ]},
//                { text: "子岗管理",id:'7', expanded:true ,checked:false,children: [
//                       { text: "7_add", leaf: true ,checked:false},
//                       { text: "7_edit", leaf: true,checked:false},
//                       { text: "7_drop", leaf: true,checked:false}
//           		 ]},
//           		 { text: "科室管理",id:'8', expanded:true ,checked:false,children: [
//                       { text: "8_add", leaf: true ,checked:false},
//                       { text: "8_edit", leaf: true,checked:false},
//                       { text: "8_drop", leaf: true,checked:false}
//           		 ]},
//                { text: "职称管理",id:'9', expanded:true ,checked:false,children: [
//                       { text: "9_add", leaf: true ,checked:false},
//                       { text: "9_edit", leaf: true,checked:false},
//                       { text: "9_drop", leaf: true,checked:false}
//           		 ]},
//                { text: "岗位胜任系数管理",id:'10', expanded:true ,checked:false,children: [
//                       { text: "10_add", leaf: true, checked:false},
//                       { text: "10_edit", leaf: true,checked:false},
//                       { text: "10_drop", leaf: true,checked:false}
//          		  ]}
//                
//            ]},
//           { text: "流程管理",id:'2',expanded:true ,checked:false ,children: [
//                { text: "项目管理",id:'11', expanded:true , checked:false,children: [
//                       { text: "11_add", leaf: true ,checked:false},
//                       { text: "11_edit", leaf: true,checked:false},
//                       { text: "11_drop", leaf: true,checked:false}
//           		 ]},
//                { text: "项目化工作",id:'12', expanded:true ,checked:false,children: [
//                       { text: "12_add", leaf: true ,checked:false},
//                       { text: "12_edit", leaf: true,checked:false},
//                       { text: "12_drop", leaf: true,checked:false}
//           		 ]},
//                { text: "程序化工作",id:'13', expanded:true ,checked:false,children: [
//                       { text: "13_add", leaf: true ,checked:false},
//                       { text: "13_edit", leaf: true,checked:false},
//                       { text: "13_drop", leaf: true,checked:false}
//          		  ]},
//                { text: "个人工作计划",id:'14', expanded:true ,checked:false,children: [
//                       { text: "14_add", leaf: true ,checked:false},
//                       { text: "14_edit", leaf: true,checked:false},
//                       { text: "14_drop", leaf: true,checked:false}
//           		 ]},
//                { text: "代办工作",id:'15', expanded:true ,checked:false,children: [
//                       { text: "15_add", leaf: true ,checked:false},
//                       { text: "15_edit", leaf: true,checked:false},
//                       { text: "15_drop", leaf: true,checked:false}
//           	 ]}, 
//           	 { text: "申请加班",id:'18', expanded:true ,checked:false,children: [
//                       { text: "18_add", leaf: true ,checked:false},
//                       { text: "18_edit", leaf: true,checked:false},
//                       { text: "18_drop", leaf: true,checked:false}
//           		 ]},
//           	 { text: "加班审批",id:'20', expanded:true ,checked:false,children: [
//                       { text: "20_add", leaf: true ,checked:false},
//                       { text: "20_edit", leaf: true,checked:false},
//                       { text: "20_drop", leaf: true,checked:false}
//           		 ]} 
//            ]},
//            { text: "绩效管理",id:'3',expanded:true ,checked:false ,children: [
//                { text: "员工绩效查询",id:'16', expanded:true , checked:false,children: [
//                       { text: "16_add", leaf: true ,checked:false},
//                       { text: "16_edit", leaf: true,checked:false},
//                       { text: "16_drop", leaf: true,checked:false}
//           		 ]},
//                { text: "员工绩效计算",id:'17', expanded:true ,checked:false,children: [
//                       { text: "17_add", leaf: true ,checked:false},
//                       { text: "17_edit", leaf: true,checked:false},
//                       { text: "17_drop", leaf: true,checked:false}
//           		 ]}
//           	 ]},  
//             { text: "权限管理",id:'4',expanded:true ,checked:false ,children: [
//                { text: "角色分配",id:'19', expanded:true , checked:false,children: [
//                       { text: "19_add", leaf: true ,checked:false},
//                       { text: "19_edit", leaf: true,checked:false},
//                       { text: "19_drop", leaf: true,checked:false}
//           		 ]}
//               
//            ]}    
//        ]
//    }
//		
//		
//	});
	var store= Ext.create('Ext.data.TreeStore', {
		  root: { 
	        text: '系统权限树', 
	        expanded: true ,
	        id:'0'
	    },  
	    proxy: {  
	        type: 'ajax',
	        url: 'Power_Treelist' 
	    },
		 listeners: {
			    	beforeload:function(store, options){
				    		var new_params = {roseid:id};
	                        Ext.apply(store.proxy.extraParams, new_params);
				    	}
			      }
	});
	var panel= Ext.create('Ext.panel.Panel', {
		id:'panel',
	    layout : 'fit',
	    items: [{ 
	            xtype: 'treepanel',
	            id:'tree5',
	        layoutConfig:{  
	        animate:true  
	        },
	            singleExpand:true,
	            checkModel : 'cascade', //对树的级联多选
	            lines : true,
	            colspan:1,    
			    name:'pppp',
			    id:'tree',
			    store: store,
			    rootVisible: false
	        }]
   })
	 var win = new Ext.Window({
				     title : "资源列表",
					 width : 310,
					 height : 530,
	                 closable : true,
	                 draggable : true,
					 frame:true,
				     modal: true,
					 minimizable:true,
	       			 maximizable:true, 
	       			 layout : 'fit',
//	       			 layout : 'anchor',
	       			 plain : true,
	       			 items: [panel],
	       			 buttons : [{
							 	text : "确定",
									 handler : function() {	
											var tree=panel.child('treepanel');
											var records =tree.getView().getChecked();
											var names = [], ids=[];
                                             Ext.Array.each(records, function(rec){
                                                            names.push(rec.get('text'));
                                                            ids.push(rec.get('id'))
                                                 });
															
											Ext.Ajax.request({
										             url : 'Power_saveorupdate',
										             success : function() {
											                  Ext.MessageBox.alert("提示", "成功！");
										                  },
										             failure : function() {
											                 Ext.MessageBox.alert("提示", "失败！");
										                },
										                  params : {
											                   id :id,
											                   names:names,
											                   ids:ids
									                      	}
									             });	
											}												
								 },{text : "关闭",
										 handler : function() {	
															win.close();			
											}
						}]
		}).show();
	//权限树的回显部分										
//	var store = Ext.create('AM.store.ResouceStore',{
//	 			params:{id:id}
//	 });
//	  store.load({
//	  	params:{id:id},
//        callback: function(records, operation, success) {
//             if(store.getCount()>0){
//             	var names=[];
//             	 Ext.Array.each(records, function(rec){
//             	 	 var tree=Ext.getCmp('panel').child('treepanel');
//                     var ni=rec.get('name');
//                     var rootNode = tree.getRootNode( );
//             // 这块用比较笨的方法做的 ，遍历三遍子节点，如果节点的id和store传过来的id相同，则自动勾选
//              //rootNode.childNodes[i].childNodes[j].set('checked',true);为节点的checkbox赋值 找了好久
//                     for (var i = 0; i < rootNode.childNodes.length; i++) {
//		                     if(rootNode.childNodes[i].get('text')==ni){
//		                     		rootNode.childNodes[i].set('checked',true);
//		                     	}else if(rootNode.childNodes[i].childNodes.length>0){
//			                     	for(var j = 0; j < rootNode.childNodes[i].childNodes.length; j++){
//			                     		if(rootNode.childNodes[i].childNodes[j].get('text')==ni){
//			                     			rootNode.childNodes[i].childNodes[j].set('checked',true);
//			                     	}else if(rootNode.childNodes[i].childNodes[j].childNodes.length>0){
//						                    for(var g= 0; g < rootNode.childNodes[i].childNodes[j].childNodes.length; g++ ){
//						                    	if(rootNode.childNodes[i].childNodes[j].childNodes[g].get('text')==ni){
//						                   			 rootNode.childNodes[i].childNodes[j].childNodes[g].set('checked',true);
//						                   		 }
//						                  	}
//						               }
//		                    }}
//                     }
//                  });
//          	}
//        }
//	 })
}

  